import Vue from 'vue'
import VueRouter from 'vue-router'
// 导入各种单页组件
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
//权限
import Rights from '../components/power/Rights.vue'
//角色
import Roles from '../components/power/Roles.vue'

Vue.use(VueRouter)

const routes = [
  // 重定向 如果用户访问/ 重定向到/login
  {path:'/',redirect:'/login'},
  {path:'/login',component:Login},
  {path:'/home',component:Home,
   // 从/重定向到 /welcome
  redirect:'/welcome',
 
  // 嵌套子路由
      children:[
        {path:'/welcome',component:Welcome},
        // 点击用户列表 实现页面 跳转
        {path:'/users',component:Users},
        {path:'/rights',component:Rights},
        {path:'/roles',component:Roles}

      ]
    },
   
]

const router = new VueRouter({
  routes
})

//挂载路由导航守卫
router.beforeEach((to,from,next)=>{
  //to将要访问的路径
  //from从哪个路径跳转而来
  //next是个函数 表示放行 next() 直接放行 next('/login')强制跳转
  if(to.path==='/login') return next();
  //获取token
  const tokenStr= window.sessionStorage.getItem('token')
  if(!tokenStr) return next('/login');
  next()

})
export default router
